import { defineConfig, loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue'
import path from 'path' // 引入 path 模块

export default defineConfig(({ mode }) => {
  // 加载环境变量
  const env = loadEnv(mode, process.cwd(), '');

  return {
    plugins: [vue()],
    resolve: {
      alias: {
        '~': path.resolve(__dirname, './'),
        '@': path.resolve(__dirname, './src') // 将 @ 指向 src 目录
      },
      extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
    },
    server: {
      host: '0.0.0.0', // 监听所有可用网络接口
      open: true, // 启动开发服务器时自动打开默认浏览器
      proxy: {
        [env.VITE_APP_BASE_API]: {
          target: 'http://localhost:8080', // 后端地址
          changeOrigin: true,
          ws: true, // 启用 WebSocket 代理
          rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), ''),
          secure: false // 如果使用 HTTPS 需要设为 true
        }
      }
    }
  }
})